1. Field
Embodiments of the present invention are related to determining when to update data on a device.
2. Background Art
Client devices typically periodically request updates from the server. In response to the request, the server transmits an update to the client device. For example, a user may use the client device to access a service, e.g., an e-mail account of the user. The client device requests updates pertaining to the service provided by the server, e.g., to determine if any additional e-mails have been received.
In some situations the refresh frequency will be too high, so that the client device is refreshed even when the user is not using the device. Because these updates occur when the user is not actively using the service, they often result in null updates (i.e., a transmission from the server indicating no update is to be made), and thus can be an excess load on the server.
In other situations the rate or frequency may be too slow, so that the user using the client device may be shown stale or out-of-date information. For example, the client device may show that no e-mails have been received when actually the server has received new e-mails. Thus, the client server systems that periodically pull data from a server may suffer from excess load on the server or stale data. In other systems, the rate at which the client device generates refresh requests changes is based on the length of time that the client device has accessed a particular service. For example, the rate at which an e-mail inbox is refreshed can decrease as the length of time for which the user has access to e-mail inbox increases. Even in these systems, however, the refresh frequency is not linked to actual user activity, and therefore can result in either excess load at the server because of null updates or stale data at the client device because of a too slow refresh rate.
What is needed, then, are methods and systems that allow for client devices to be updated at a higher refresh frequency when the user is using the device and be updated at a lower refresh frequency when the user is not using the device.